package org.lq.mi.util;

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.apache.tomcat.util.codec.binary.StringUtils;

/**
 * ת�͹�����
 * @author XUNLU0794
 *
 */
public class CaseUtil {
	/**
	 * ת���ַ���
	 * @param obj
	 * @return
	 */
	public static String castString(Object obj){
		return castString(obj, "");
		
	}
	/**
	 * ת���ַ���,��Ĭ������
	 * @param obj
	 * @param defaultValue
	 * @return
	 */
	public static String castString(Object obj,String defaultValue){
		return obj != null ?String.valueOf(obj) : defaultValue;
	}
	/**
	 * תΪdouble����
	 * @param obj
	 * @return
	 */
	public static double castDouble(Object obj){
		return castDouble(obj, 0);
	}
	/**
	 * ת����double����,,��Ĭ��ֵ
	 * @param obj
	 * @param defaultValue
	 * @return
	 */
	public static double castDouble(Object obj,double defaultValue){
		double doubleValue = defaultValue;
		if(obj!=null){
			String strval = castString(obj);
			try {
				if(!"".equals(strval)){
					doubleValue = Double.parseDouble(strval);
				}
			} catch (NumberFormatException e) {
				doubleValue = defaultValue;
			}
		}
		return doubleValue;
	}
	/**
	 * ת����int
	 * @param obj
	 * @return
	 */
	public static int castInt(Object obj){
		return castInt(obj, 0);
	}
	
	/**
	 * ת����int,��Ĭ��ֵ
	 * @param obj
	 * @param defaultvalue
	 * @return
	 */
	public static int castInt(Object obj,int defaultvalue){
		int intvalue = defaultvalue;
		if(obj!=null){
			String strval = castString(obj);
			try {
				if(!"".equals(strval)){
					intvalue = Integer.valueOf(strval);
				}
			} catch (NumberFormatException e) {
				intvalue = defaultvalue;
			}
		}
		return intvalue;
	}
	
	/**
	 * java.util.Date(�пչ���,���ݿⲻ��ʱ��) �� java.sal.Date(���ݿ�ʱ������),û�пչ���
	 */
	public static Date caseUtilDatetoSqlDate(java.util.Date obj){
		return new Date(obj.getTime());
	}
	
	/**
	 * ���ַ���תsql.Date
	 */
	
	public static Date StringcasetoSqlDate(String obj){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		Date date = null;
		try {
			date = Date.valueOf(obj);
		} catch (Exception e) {
			try {
				java.util.Date utildate = sdf.parse(obj);
				date=caseUtilDatetoSqlDate(utildate);
			} catch (ParseException e1) {
				e1.printStackTrace();
			}
		}
		return date;
		
	}
	
}
